package com.conoic.sxs.xcj.gateway.common.util.json;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.List;

public class JsonUtil {
    /**
     * 将模型转成json格式字符串
     *
     * @param t
     * @param <T>
     * @return
     */
    public static <T> String toJSON(T t) {
        if (t == null) {
            return null;
        }
        return JSONObject.toJSONString(t);
    }

    /**
     * 将json格式数据转换成指定模型
     *
     * @param json
     * @param t
     * @param <T>
     * @return
     */
    public static <T> T toObject(String json, Class<T> t) {

        return JSONObject.parseObject(json, t);
    }

    /**
     * 将json格式字符串转换成list集合 采用fastjson
     *
     * @param str json格式字符串
     * @param t   转换之后模型
     * @param <T> {@link com.alibaba.fastjson.JSONArray}
     * @return
     */
    public static <T> List<T> jsonToList(String str, Class<T> t) {
        JSONArray jsonArray = JSONArray.parseArray(str);
        return jsonArray.toJavaList(t);
    }
}
